iT邦幫忙

software architecture相關文章
共有 28 則文章
鐵人賽 AI Engineering DAY 22

技術 Day 22:技術債 vs 刻意的架構妥協——AI 該怎麼分辨這兩者

前言:「這是技術債」這句話,是判斷還是藉口? 「這段程式碼寫得有點繞,應該是技術債吧,要不要趁這次改動順便清一清?」 這句話聽起來像是個技術判斷,但仔細想會發現...

鐵人賽 AI Engineering DAY 21

技術 Day 21:案例——AI code review 抓到一個違反分層規則的隱藏耦合

前言:能動、測試也過,問題到底藏在哪 昨天講完為什麼架構審查需要獨立設計,今天用一個具體案例,把「一般 code review 看不出問題、架構審查一查就抓到」...

鐵人賽 AI Engineering DAY 20

技術 Day 20:架構評審交給 AI——怎麼設計讓 AI 檢查架構違規而不是寫功能

前言:「順便看一下」跟「專門檢查」是兩件事 「反正 code review 都交給 AI 了,架構有沒有違規,AI 應該也會順便看到吧?」 這句話聽起來合理,卻...

鐵人賽 AI Engineering DAY 19

技術 Day 19:微服務/模組化架構下,AI 協作範圍怎麼隨邊界縮小

前言:拆得越細,AI 是不是就越好用? 「把系統拆成微服務,是不是就代表可以放心讓 AI 到處改,反正邊界已經分好了?」 這句話只對了一半。拆分本身不會自動讓...

鐵人賽 AI Engineering DAY 18

技術 Day 18:案例——一條只寫在文件裡沒有工具強制的架構規則,多久會被忘記

前言:規則寫進文件那天,它最有效 「這條規則我已經寫進 CLAUDE.md 了,AI 應該會一直遵守吧?」 如果你也這樣想過,先別急著放心。昨天講到架構規則要盡...

鐵人賽 AI Engineering DAY 17

技術 Day 17:架構規則要寫成可執行的檢查(linter/static analysis),不能只是文件

前言:CLAUDE.md 都寫了,為什麼 AI 還是違反架構規則? 「架構分層規則已經寫進 CLAUDE.md 了,這條規則不是就一直存在嗎,怎麼還會被違反?」...

鐵人賽 AI Engineering DAY 16

技術 Day 16:測試邊界跟架構邊界的關係——能不能獨立測試,反映架構乾不乾淨

前言:寫測試變慢,是不是測試框架的問題? 「這段程式碼的測試,每次都要啟動整個系統、連上資料庫、跑完一整條請求鏈路才能測到,是不是測試工具沒選對?」 這個問題背...

鐵人賽 AI Engineering DAY 15

技術 Day 15:案例——DI 容器讓架構邊界變得模糊的真實陷阱

前言:型別提示介面,換實作應該很安全吧? 「建構子依賴的是一個介面,不是具體類別,換掉底層實作應該不會影響到呼叫端吧?」 昨天談到,依賴注入容器本身是一把雙面刃...

鐵人賽 AI Engineering DAY 14

技術 Day 14:依賴注入容器——架構約束力還是另一層隱藏耦合?

前言:用了 DI 容器,架構就自動變乾淨了嗎? 「我們全面導入依賴注入容器了,所有類別都透過建構子拿依賴,架構應該乾淨很多了吧?」 這句話只對了一半。依賴注入容...

鐵人賽 AI Engineering DAY 13

技術 Day 13:案例——AI 為了「遵守分層」過度抽象化一個簡單功能

前言:規則立對了,就一定用對了嗎? 「我們已經把架構規則寫清楚了:業務邏輯一律經過 Service 層,不能讓 Controller 直接處理。這樣 AI 應該...

鐵人賽 AI Engineering DAY 12

技術 Day 12:架構邊界 vs 過度設計——AI 容易把邊界當成「該加更多抽象層」

前言:邊界立好了,怎麼反而更難改了? 「我們已經把架構邊界講清楚了,AI 也照著寫,為什麼程式碼變得更難懂,不是更好維護?」 這是把架構邊界建立起來之後,很容易...

鐵人賽 AI Engineering DAY 11

技術 Day 11:CLAUDE.md/skill 跟架構文件的分工——規範跟決策紀錄的差異

前言:把 ADR 寫進 CLAUDE.md,是不是更方便? 「昨天講的 ADR 聽起來很有用,那乾脆把每個 ADR 的重點都摘要進 CLAUDE.md,AI 每...

鐵人賽 AI Engineering DAY 10

技術 Day 10:案例——沒有 ADR 時,AI 把一個刻意的設計決策誤判成技術債

前言:那段「多餘」的檢查,其實是唯一的防線 「這段程式碼明明已經檢查過一次了,後面怎麼又檢查一次?看起來像是複製貼上留下的重複邏輯,我幫你清掉了。」 如果你用過...

鐵人賽 AI Engineering DAY 9

技術 Day 09:架構決策紀錄(ADR)——讓 AI 讀得懂「為什麼這樣設計」而不是照抄現狀

前言:程式碼會告訴你「現在長什麼樣」,不會告訴你「為什麼長這樣」 「這段程式碼看起來繞了一大圈,直接改成更直覺的寫法不好嗎?」 如果你請 AI 重構一套系統,這...

鐵人賽 AI Engineering DAY 8

技術 Day 08:案例——AI 在沒有清楚模組邊界時,如何不小心跨模組耦合

前言:明明只是修一個小功能,為什麼牽連了另一個模組? 「我只是想讓訂單頁面多顯示一個欄位,AI 怎麼會改到用戶模組的程式碼?」 這是進入第二部後我想先處理的問題...

鐵人賽 AI Engineering DAY 7

技術 Day 07:模組邊界——package/module 隔離對 AI 改動範圍的實際影響

前言:邊界畫在資料夾,還是畫在依賴關係上? 「模組邊界不就是把程式碼分到不同資料夾嗎?這個系列前幾天不是已經講過 Repository 分層、介面切分了嗎,模組...

鐵人賽 AI Engineering DAY 6

技術 Day 06:依賴方向——AI 容易寫出反向依賴,怎麼用架構規則防止

前言:測試都過了,這樣改有什麼問題? 「這個 bug 修好了、測試也綠燈了,為什麼你還要我改掉 import 的方向?」 這是分層架構裡最容易被忽略、卻最傷筋動...

鐵人賽 AI Engineering DAY 5

技術 Day 05:介面切分——為什麼「型別提示介面 vs 具體類別」是架構決策

前言:只是換一行程式碼,能有多大差別? 「建構子參數的型別提示,寫介面還是寫具體類別,不就是打幾個字的差別嗎?」 如果只看語法層面,確實是這樣——兩種寫法都能編...

鐵人賽 AI Engineering DAY 4

技術 Day 04:Repository 分層——把 AI 的改動範圍收斂到一個資料夾

前言:Repository 不是「把 SQL 包起來」而已 「Repository Pattern 不就是把 SQL 包進一個類別,讓程式碼比較好看嗎?」 如果...

鐵人賽 AI Engineering DAY 3

技術 Day 03:架構的本質——不是規範「怎麼寫」,是約束「能改到哪裡」

前言:architecture 不就是畫幾個框框、連幾條線嗎? 「架構圖不就是畫出幾個方塊、幾條連線,說明系統長什麼樣子?跟 AI 會不會寫錯程式碼有什麼關係?...

鐵人賽 AI Engineering DAY 2

技術 Day 02:案例——沒有架構邊界時,AI 用最短路徑寫出的程式碼長什麼樣

前言:這不是「AI 寫得爛」,是「AI 選了最短路徑」 「AI 生成的程式碼看起來很亂,是不是因為模型能力還不夠?」 如果你也這樣想過,先重新想一次:AI 寫程...

鐵人賽 AI Engineering DAY 1

技術 Day 01:系列介紹:AI 寫 code 快,但架構的角色改變了什麼

前言:AI 都能自己生成架構了,還需要人設計架構嗎? 「現在 AI coding agent 已經可以自己規劃分層、自己決定要不要拆介面,架構師是不是快沒事做了...

鐵人賽 Mobile Development DAY 21

技術 新需求與架構設計的演進

在前面的二十天中我們完成了基本需求,但是這樣的進度在真實的專案中只是剛開始而已,有可能到目前為止做的只是 prototype,大家玩了一下覺得很喜歡,想要將他變...

鐵人賽 Software Development DAY 1

技術 【Day 01】中台架構浪潮與啟示

前言 近幾年中國掀起一股『中台架構』熱潮,大型企業紛紛導入此一概念,重整戰略資訊架構,建構業務、數據、AI、技術、移動、通訊、安控、...等中台,接著這股熱潮也...

鐵人賽 Modern Web DAY 4

技術 GitHub 遠端儲存庫 初步上手——全端產品工具箱 III

只是個幫助忙碌的專業人士和父母找回時間、平衡生活的斜槓老爸。 我探索人生的大小賽局,分享優化人生的實用觀點(關於人類、科技和未來)。 在我的個人網站上獲取最新的...

技術 [Architectural Pattern] Microsrevices 微服務架構

上一篇文章介紹了 SOA (Service-Oriented Architecture) 的遠大願景與淡淡哀傷的下場,而這一篇要講的是 SOA 在平行宇宙的成功...

鐵人賽 Software Development DAY 19

技術 [Architectural Pattern] 服務導向架構 Service-Oriented Architecture 波折的一生

有一天,身為一個優秀開發者的你被同事抓到旁邊,他想到了一個空前絕後、聰明至極的好點子:一個線上停車繳費系統!非常興奮的他開始滔滔不絕地說著如何連接 GPS,放到...

鐵人賽 Software Development DAY 1

達標好文 技術 混沌初開:學習設計模式(與更多)前的一些嘮叨

這是一個介紹設計模式 Design Patterns 與架構模式 Architectural Patterns 的系列文章。 什麼?又是 Design Patt...